package com.hzlx.types.service.impl;

import java.util.List;

import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import com.hzlx.types.mapper.DefectTypesMapper;
import com.hzlx.types.domain.DefectTypes;
import com.hzlx.types.service.IDefectTypesService;

/**
 * 缺陷类型标准库（用于质量检验中的缺陷分类）Service业务层处理
 * 
 * @author ruoyi
 * @date 2025-07-01
 */
@Service
public class DefectTypesServiceImpl implements IDefectTypesService 
{
    @Autowired
    private DefectTypesMapper defectTypesMapper;
    @Resource
    private RedisTemplate<String, Object> redisTemplateObject;
    String KEY = "quality-service:defect_types";
    /**
     * 查询缺陷类型标准库（用于质量检验中的缺陷分类）
     * 
     * @param defectTypeId 缺陷类型标准库（用于质量检验中的缺陷分类）主键
     * @return 缺陷类型标准库（用于质量检验中的缺陷分类）
     */
    @Override
    public DefectTypes selectDefectTypesByDefectTypeId(String defectTypeId)
    {
        return defectTypesMapper.selectDefectTypesByDefectTypeId(defectTypeId);
    }

    /**
     * 查询缺陷类型标准库（用于质量检验中的缺陷分类）列表
     * 
     * @param defectTypes 缺陷类型标准库（用于质量检验中的缺陷分类）
     * @return 缺陷类型标准库（用于质量检验中的缺陷分类）
     */
    @Override
    public List<DefectTypes> selectDefectTypesList(DefectTypes defectTypes)
    {
        List<DefectTypes> list = defectTypesMapper.selectDefectTypesList(defectTypes);
        redisTemplateObject.opsForValue().set(KEY,list);
        return list;
    }

    /**
     * 新增缺陷类型标准库（用于质量检验中的缺陷分类）
     * 
     * @param defectTypes 缺陷类型标准库（用于质量检验中的缺陷分类）
     * @return 结果
     */
    @Override
    public int insertDefectTypes(DefectTypes defectTypes)
    {
        return defectTypesMapper.insertDefectTypes(defectTypes);
    }

    /**
     * 修改缺陷类型标准库（用于质量检验中的缺陷分类）
     * 
     * @param defectTypes 缺陷类型标准库（用于质量检验中的缺陷分类）
     * @return 结果
     */
    @Override
    public int updateDefectTypes(DefectTypes defectTypes)
    {
        return defectTypesMapper.updateDefectTypes(defectTypes);
    }

    /**
     * 批量删除缺陷类型标准库（用于质量检验中的缺陷分类）
     * 
     * @param defectTypeIds 需要删除的缺陷类型标准库（用于质量检验中的缺陷分类）主键
     * @return 结果
     */
    @Override
    public int deleteDefectTypesByDefectTypeIds(String[] defectTypeIds)
    {
        return defectTypesMapper.deleteDefectTypesByDefectTypeIds(defectTypeIds);
    }

    /**
     * 删除缺陷类型标准库（用于质量检验中的缺陷分类）信息
     * 
     * @param defectTypeId 缺陷类型标准库（用于质量检验中的缺陷分类）主键
     * @return 结果
     */
    @Override
    public int deleteDefectTypesByDefectTypeId(String defectTypeId)
    {
        return defectTypesMapper.deleteDefectTypesByDefectTypeId(defectTypeId);
    }
}
